package yl.hs.bmipfull.service.production;
import com.github.pagehelper.PageInfo;
import yl.hs.bmipfull.pojo.production.ProductionRecordDetailsEntity;
import yl.hs.bmipfull.pojo.production.ProductionRecordEntity;
import yl.hs.bmipfull.service.IBaseService;
import yl.hs.bmipfull.viewmodels.PageQuery;
import yl.hs.bmipfull.viewmodels.PageResult;
import yl.hs.bmipfull.viewmodels.production.ProductionRecordDetailSO;
import yl.hs.bmipfull.viewmodels.production.ProductionRecordSModel;
import yl.hs.bmipfull.viewmodels.production.ProductionRecordVO;

import java.util.List;
import java.util.Map;

/**
 * @author 张凯
 * @apiNote 生产记录表服务层接口
 * @since 2021年10月25日 15时53分41秒
 */

public interface IProductionRecordService extends IBaseService {

    List<ProductionRecordEntity> queryList(PageQuery pageQuery) throws Exception;

    List<ProductionRecordEntity> queryList(PageQuery pageQuery, String productCateSn) throws Exception;

    PageResult<ProductionRecordEntity> queryPage(PageQuery pageQuery, int rowNum, int page) throws Exception;

    PageResult<ProductionRecordVO> queryPageVO(PageQuery pageQuery, int rowNum, int page) throws Exception;

    ProductionRecordEntity findBySn(String sn);

    Integer saveProductionRecord(Map<String, Object> model, String sn) throws Exception;

    List<ProductionRecordDetailsEntity> queryDetailsList(PageQuery pageQuery, String productCateSn);

    Integer deleteRecordMax();

    Map<String,Object> queryProductionRecordByHouse();
    Map<String,Object> queryProductionRecordByMonthon();
    PageInfo<ProductionRecordSModel> queryProductionRecordSModel(PageQuery pageQuery, int rowNum, int page);
    List<ProductionRecordDetailSO> queryByRecordId(List<Long> allId);
}